﻿using System;
using System.Collections.Generic;
using System.Text;
using DotNet.Common;
using DotNet.Data.Factory;
using System.Collections;
using System.Data;
using System.Data.SqlClient;
namespace DotNet.Data
{
	public class tab_productClassDal
	{
		IDBHelp db = DBHelp.Create();
		 Hashtable htSyn = Hashtable.Synchronized(new Hashtable());
		StringBuilder strSql = new StringBuilder();

		#region 是否存在该记录
		/// <summary>
		/// 是否存在该记录
		/// </summary>
		/// <param name="pcid">标识列ID</param>
		public bool Exists(int pcid)
		{
			htSyn.Clear();
			strSql.Remove(0, strSql.Length);
			strSql.Append("select count(1) from [tab_productClass] where pcid=@pcid ");
			htSyn.Add("@pcid", pcid);
			return db.IsExists(strSql.ToString(), htSyn);
		}
		#endregion

		#region 得到该表数据列表
		/// <summary>
		/// 得到该表数据列表
		/// </summary>
		public IList<tab_productClass> GetModel()
		{
			htSyn.Clear();
			strSql.Remove(0, strSql.Length);
			strSql.Append("Select [productClassDate],[pcid],[productClassFID],[productClassInfo],[productClassKey],[productClassName],[productClassTitle],[productClassDescription] FROM [tab_productClass]");
			 return gettab_productClassBySql(strSql.ToString());
		}
		#endregion

		#region 根据标识列查询实体
		/// <summary>
		/// 根据标识列查询实体
		/// </summary>
		/// <param name="pcid">标识列ID</param>
		/// <returns></returns>
		public tab_productClass GetModel(int pcid)
		{
			htSyn.Clear();
			strSql.Remove(0, strSql.Length);
			strSql.Append("select [productClassDate],[pcid],[productClassFID],[productClassInfo],[productClassKey],[productClassName],[productClassTitle],[productClassDescription] FROM [tab_productClass]");
			strSql.Append(" where pcid=@pcid ");
			htSyn.Add("@pcid", pcid);
			DataTable dt = db.GetDataTable(strSql.ToString(), htSyn);
			tab_productClass tab_productclassModel = new tab_productClass();
			if (dt.Rows.Count > 0)
			{
				tab_productclassModel.productClassDate=Convert.ToDateTime(dt.Rows[0]["productClassDate"]);
				tab_productclassModel.productClassFID=Convert.ToInt32(dt.Rows[0]["productClassFID"]);
				tab_productclassModel.productClassInfo=dt.Rows[0]["productClassInfo"].ToString();
				tab_productclassModel.productClassKey=dt.Rows[0]["productClassKey"].ToString();
				tab_productclassModel.productClassName=dt.Rows[0]["productClassName"].ToString();
				tab_productclassModel.productClassTitle=dt.Rows[0]["productClassTitle"].ToString();
				tab_productclassModel.productClassDescription=dt.Rows[0]["productClassDescription"].ToString();
			}
			return tab_productclassModel;
		}
		#endregion

		#region 修改信息
		/// <summary>
		/// 修改信息
		/// </summary>
		/// <param name="tab_productClass">实体</param>
		/// <returns></returns>
		public bool Update(tab_productClass tab_productclassModel)
		{
			htSyn.Clear();
			strSql.Remove(0, strSql.Length);
			strSql.Append("update [tab_productClass] set ");
			strSql.Append("[productClassDate]=@productclassdate,");
			strSql.Append("[productClassFID]=@productclassfid,");
			strSql.Append("[productClassInfo]=@productclassinfo,");
			strSql.Append("[productClassKey]=@productclasskey,");
			strSql.Append("[productClassName]=@productclassname,");
			strSql.Append("[productClassTitle]=@productclasstitle,");
			strSql.Append("[productClassDescription]=@productclassdescription");

			strSql.Append(" where pcid=@pcid ");
			htSyn.Add("@productclassdate", tab_productclassModel.productClassDate);
			htSyn.Add("@pcid", tab_productclassModel.pcid);
			htSyn.Add("@productclassfid", tab_productclassModel.productClassFID);
			htSyn.Add("@productclassinfo", tab_productclassModel.productClassInfo);
			htSyn.Add("@productclasskey", tab_productclassModel.productClassKey);
			htSyn.Add("@productclassname", tab_productclassModel.productClassName);
			htSyn.Add("@productclasstitle", tab_productclassModel.productClassTitle);
			htSyn.Add("@productclassdescription", tab_productclassModel.productClassDescription);
			if (db.ExecuteNonQuery(strSql.ToString(), htSyn) > 0)
			{
				return true;
			}
			return false;
		}
		#endregion

		#region 删除信息
		/// <summary>
		/// 删除信息
		/// </summary>
		/// <param name="pcid">标识列ID</param>
		/// <returns></returns>
		public bool Delete(int pcid)
		{
			htSyn.Clear();
			strSql.Remove(0, strSql.Length);
			strSql.Append("delete from [tab_productClass] where pcid=@pcid");
			htSyn.Add("pcid", pcid);
			if (db.ExecuteNonQuery(strSql.ToString(), htSyn) > 0)
			{
				return true;
			}
			return false;
		}
		#endregion

		#region 添加信息
		/// <summary>
		/// 添加信息
		/// </summary>
		/// <param name="tab_productClass">实体</param>
		/// <returns></returns>
		public bool Insert(tab_productClass tab_productclassModel)
		{
			htSyn.Clear();
			strSql.Remove(0, strSql.Length);
			strSql.Append("insert into [tab_productClass]([productClassDate],[productClassFID],[productClassInfo],[productClassKey],[productClassName],[productClassTitle],[productClassDescription]) values (@productclassdate,@productclassfid,@productclassinfo,@productclasskey,@productclassname,@productclasstitle,@productclassdescription)");
			htSyn.Add("@productclassdate", tab_productclassModel.productClassDate);
			htSyn.Add("@productclassfid", tab_productclassModel.productClassFID);
			htSyn.Add("@productclassinfo", tab_productclassModel.productClassInfo);
			htSyn.Add("@productclasskey", tab_productclassModel.productClassKey);
			htSyn.Add("@productclassname", tab_productclassModel.productClassName);
			htSyn.Add("@productclasstitle", tab_productclassModel.productClassTitle);
			htSyn.Add("@productclassdescription", tab_productclassModel.productClassDescription);
			if (db.ExecuteNonQuery(strSql.ToString(), htSyn) > 0)
			{
				return true;
			}
			return false;
		}
		#endregion

		#region 根据SQL语句获取集合
		/// <summary>
		///根据SQL语句获取集合
		/// </summary>
		/// <param name="strSql">sql语句</param>
		public IList<tab_productClass> gettab_productClassBySql(string strSql)
		{
			IList<tab_productClass> list = new List<tab_productClass>();
			DataTable dt = db.GetDataTable(strSql);
			if (dt.Rows.Count > 0)
			{
				foreach (DataRow dr in dt.Rows)
				{
					tab_productClass tab_productclassModel = new tab_productClass();
					tab_productclassModel.productClassDate= Convert.ToDateTime(dr["productClassDate"]);
					tab_productclassModel.pcid= Convert.ToInt32(dr["pcid"]);
					tab_productclassModel.productClassFID= Convert.ToInt32(dr["productClassFID"]);
					tab_productclassModel.productClassInfo=dr["productClassInfo"].ToString();
					tab_productclassModel.productClassKey=dr["productClassKey"].ToString();
					tab_productclassModel.productClassName=dr["productClassName"].ToString();
					tab_productclassModel.productClassTitle=dr["productClassTitle"].ToString();
					tab_productclassModel.productClassDescription=dr["productClassDescription"].ToString();
					list.Add(tab_productclassModel);
				}
			}
			return list;
		}
		#endregion
	}
}
